This invention relates to modelling network traffic behaviour on a communications network and particularly to a method of modelling network behaviour by generating instructions for altering network traffic transmission rate, based on feedback data.
Modelling network traffic is useful for simulating the performance of a network under test. The technology that is used in networks and communications develops rapidly and constantly and new communications methods and devices must be thoroughly tested before they are made available for public use. Such testing should occur under conditions which are as realistic as possible in order to ratify network performance and ensure that erroneous or fatal transmissions do not occur.
As the capabilities of new network devices and transmission protocols grow, so do the requirements of systems which are used to test them. Devices that are used in communications networks are many and varied and include gateways, bridges, routers, switches, repeaters and multiplexers.
The Internet and other communications networks have evolved to facilitate web-based applications, pervasive videoconferencing and video streaming services, and virtual networked environments. Other networks such as telephone, radio and television are also being used in combination with the Internet. As a result, the spectrum of communications network users and their needs has become increasingly diverse. As the number of people using these communications networks increases, so do the loads that are transmitted. This results in increased demand for faster and more efficient data transmission devices and protocols. The networks themselves must also be extended.
Accordingly, techniques for testing communications networks, protocols and devices are useful to network administrators and service providers for verifying the performance and reliability of systems.
Known systems commonly use stateless packet traffic to test the performance of networks and devices. This typically involves sending data segments at the Network Layer using a connectionless protocol such as UDP. UDP is a connectionless transmission protocol that does not autonomously re-transmit packets if they are lost in the network. A limitation of this method is that modelled UDP traffic is not typical of traffic on networks such as the Internet. It is estimated that only 5-10% of the traffic which exists on the Internet utilises UDP, with the remaining 90-95% utilizing Transmission Control Protocol (TCP).
Further, UDP uses a predefined bandwidth and does not dynamically regulate the rate of transmission of individual dataflows in response to congestion. Accordingly, UDP does not adequately simulate behaviour that is typical of the majority of packet switching communications networks that are currently in use. Therefore, existing systems that use UDP to simulate network packet traffic simulate only a subset of real network traffic, preventing developers from being able to predict and/or determine the actual performance of the devices and/or network under test.
TCP is a connection oriented protocol that has in-built controls to ensure delivery. The in-built controls of TCP enable it to adjust its packet send rate in response to congestion. Some technology exists that attempts to use session oriented packet traffic to test networks and devices. These testing platforms produce traffic that is more typical of traffic that is present on the Internet. However, as the volume of packet traffic increases, testing platforms that generate session oriented packet traffic become saturated. Therefore these systems are limited in their scalability making session oriented packet traffic inappropriate for testing networks such as Internet backbone and other transmission links that have high traffic transmission capacities.